package model.metier;
// Generated 4 mars 2015 13:49:36 by Hibernate Tools 4.3.1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CommandeFournisseur generated by hbm2java
 */
@Entity
@Table(name="commande_fournisseur"
    ,catalog="stocks_bdd"
)
public class CommandeFournisseur extends Metier implements java.io.Serializable {


     private Integer id;
     private Employe employe;
     private Fournisseur fournisseur;
     private Date date;
     private Set<FactureFournisseur> factureFournisseurs = new HashSet(0);
     private Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits = new HashSet(0);

    public CommandeFournisseur() {
    }

	
    public CommandeFournisseur(Employe employe, Fournisseur fournisseur, Date date) {
        this.employe = employe;
        this.fournisseur = fournisseur;
        this.date = date;
    }
    public CommandeFournisseur(Employe employe, Fournisseur fournisseur, Date date, Set<FactureFournisseur> factureFournisseurs, Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits) {
       this.employe = employe;
       this.fournisseur = fournisseur;
       this.date = date;
       this.factureFournisseurs = factureFournisseurs;
       this.commandeFournisseurHasProduits = commandeFournisseurHasProduits;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="id", unique=true, nullable=false)
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_employe", nullable=false)
    public Employe getEmploye() {
        return this.employe;
    }
    
    public void setEmploye(Employe employe) {
        this.employe = employe;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_fournisseur", nullable=false)
    public Fournisseur getFournisseur() {
        return this.fournisseur;
    }
    
    public void setFournisseur(Fournisseur fournisseur) {
        this.fournisseur = fournisseur;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="date", nullable=false, length=19)
    public Date getDate() {
        return this.date;
    }
    
    public void setDate(Date date) {
        this.date = date;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="commandeFournisseur")
    public Set<FactureFournisseur> getFactureFournisseurs() {
        return this.factureFournisseurs;
    }
    
    public void setFactureFournisseurs(Set<FactureFournisseur> factureFournisseurs) {
        this.factureFournisseurs = factureFournisseurs;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="commandeFournisseur")
    public Set<CommandeFournisseurHasProduit> getCommandeFournisseurHasProduits() {
        return this.commandeFournisseurHasProduits;
    }
    
    public void setCommandeFournisseurHasProduits(Set<CommandeFournisseurHasProduit> commandeFournisseurHasProduits) {
        this.commandeFournisseurHasProduits = commandeFournisseurHasProduits;
    }




}


